import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.ThreadLocalRandom;

/**
 * @Author:YuXuePeng
 * @Date:Created in 2023/4/27 11:31
 */
public class RandomDateExample {
    public static void main(String[] args) {
        LocalDate minDate = LocalDate.of(2020, 1, 1); // 指定最小日期为2020年1月1日
        LocalDate maxDate = LocalDate.parse("2022-12-31"); // 指定最大日期为2022年12月31日
        long minDay = minDate.toEpochDay(); // 将最小日期转换为距离1970年1月1日的天数
        long maxDay = maxDate.toEpochDay(); // 将最大日期转换为距离1970年1月1日的天数
        long randomDay = ThreadLocalRandom.current().nextLong(minDay, maxDay + 1); // 生成随机日期
        LocalDate randomDate = LocalDate.ofEpochDay(randomDay); // 将随机日期转换为LocalDate对象
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 指定日期格式为“年-月-日”
        String formattedDate = randomDate.format(formatter); // 格式化日期为指定字符串格式
        System.out.println(formattedDate); // 输出随机日期
    }
}
